package br.com.allan.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.context.FacesContext;

import br.com.allan.dao.DAO;
import br.com.allan.entity.Cadastro;

public class CadastroController {
	

	private Cadastro cadastro;
	private List<Cadastro> cadastroList;
	
	public Cadastro getCadastro() {
		return cadastro;
	}

	public void setCadastro(Cadastro cadastro) {
		this.cadastro = cadastro;
	}
	
	public List<Cadastro> getCadastroList() {
		return cadastroList;
	}

	public void setCadastroList(List<Cadastro> cadastroList) {
		this.cadastroList = cadastroList;
	}

	public void cadastrar() throws Exception {
		try {
			cadastro = new Cadastro();
			FacesContext.getCurrentInstance().getExternalContext()
					.redirect("cadastro.jsp");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void salvar() throws Exception {
		DAO.getInstance().saveOrUpdate(cadastro);
		cadastro = new Cadastro();
	}
	
	@SuppressWarnings("unchecked")
	public void listar() throws IOException {
		cadastro = new Cadastro();
		cadastroList = new ArrayList<Cadastro>();
		cadastroList = DAO.getInstance().list(Cadastro.class);
		FacesContext.getCurrentInstance().getExternalContext()
		.redirect("lista.jsp");
		
	}
	
	public void editar() throws IOException {
		cadastro = (Cadastro) DAO.getInstance().refresh(cadastro);
		FacesContext.getCurrentInstance().getExternalContext()
		.redirect("cadastro.jsp");
		
	}

}
